package dj.service;

import java.util.List;
import java.util.Map;

import dj.model.CompanyReport;
import dj.model.ZhebiaoXishu;
import dj.pageModel.PcompanyReport;

public interface CompanyReportService {
	
	public CompanyReport get(String id);
	
	public void save(CompanyReport cr);
	
	public void update(CompanyReport cr);
	
	public void delete(CompanyReport cr);
	
	/**
	 * 获取报表任务列表
	 * @param params
	 * @param conditions
	 * @param page
	 * @param rows
	 * @return
	 */
	public List<PcompanyReport> getCompanyReportTask(List<String> status, List<String> company, Map<String, Object> params, Map<String, String> conditions, int page, int rows, String order);
	
	/**
	 * 获取任务刘表数量
	 * @param params
	 * @param conditions
	 * @param page
	 * @param rows
	 * @return
	 */
	public long getCompanyReportTaskNum(List<String> status, List<String> company, Map<String, Object> params, Map<String, String> conditions);
	
	/**
	 * 创建任务
	 */
	public void createReportTask(PcompanyReport pr, ZhebiaoXishu zx);
	
	/**
	 * 批量删除任务
	 * @param ids
	 */
	public void deleteTasks(String[] ids);
	
	/**
	 * 更新任务开始结束日期
	 * @param pr
	 */
	public void updateTaskDate(PcompanyReport pr);
	
	/**
	 * 获取从开始日期前一天，没有提交的报表
	 * @return
	 */
	public List<CompanyReport> getNotSubmitReport() throws Exception;
	
	/**
	 * 系统发送催报短信
	 */
	public void sendUrgeReportSms() throws Exception;
}
